package util;

/**
 *
 * Class description goes here.
 *
 * @author Kamil Gajowy
 */
public class MyPoint implements Comparable {
    private double zysk;
    private double ryzyko;

    private double dostepnaGotowka;

    private int wolumen;
    private int jakosc;
    private double cenaJed;
    private double cenaJedSprzedaz;
    private double reklamaTV;
    private double reklamaInet;
    private double reklamaMag;
    private double wzietyKredyt;



    /**
    * Default constructor.
     * @param wolumen
     * @param jakosc
     * @param cenaJed
     * @param reklamaTV
     * @param reklamaInet
     * @param reklamaMag
     */
    public MyPoint(
            int wolumen, int jakosc, int cenaJed,
            int reklamaTV, int reklamaInet, int reklamaMag){
        this.wolumen = wolumen;
        this.jakosc = jakosc;
        this.cenaJed = cenaJed;
        this.reklamaInet = reklamaInet;
        this.reklamaMag = reklamaMag;
        this.reklamaTV = reklamaTV;
    }

    public double getWzietyKredyt() {
        return wzietyKredyt;
    }

    public void setWzietyKredyt(double wzietyKredyt) {
        this.wzietyKredyt = wzietyKredyt;
    }

    public void result(){
        zysk = wolumen*cenaJed - (reklamaInet - reklamaMag - reklamaTV);
        ryzyko = Math.log(zysk);
        
    }

    public double getDostepnaGotowka() {
        return dostepnaGotowka;
    }

    public void setDostepnaGotowka(double dostepnaGotowka) {
        this.dostepnaGotowka = dostepnaGotowka;
    }
    /**
     * @return the zysk
     */
    public double getZysk() {
        return zysk;
    }

    /**
     * @return the ryzyko
     */
    public double getRyzyko() {
        return ryzyko;
    }

    /**
     * @return the wolumen
     */
    public int getWolumen() {
        return wolumen;
    }

    /**
     * @param wolumen the wolumen to set
     */
    public void setWolumen(int wolumen) {
        this.wolumen = wolumen;
    }

    /**
     * @return the jakosc
     */
    public int getJakosc() {
        return jakosc;
    }

    /**
     * @param jakosc the jakosc to set
     */
    public void setJakosc(int jakosc) {
        this.jakosc = jakosc;
    }

    /**
     * @return the cenaJed
     */
    public double getCenaJed() {
        return cenaJed;
    }

    /**
     * @param cenaJed the cenaJed to set
     */
    public void setCenaJed(double cenaJed) {
        this.cenaJed = cenaJed;
    }

    /**
     * @return the reklamaTV
     */
    public double getReklamaTV() {
        return reklamaTV;
    }

    /**
     * @param reklamaTV the reklamaTV to set
     */
    public void setReklamaTV(double reklamaTV) {
        this.reklamaTV = reklamaTV;
    }

    /**
     * @return the reklamaInet
     */
    public double getReklamaInet() {
        return reklamaInet;
    }

    /**
     * @param reklamaInet the reklamaInet to set
     */
    public void setReklamaInet(double reklamaInet) {
        this.reklamaInet = reklamaInet;
    }

    /**
     * @return the reklamaMag
     */
    public double getReklamaMag() {
        return reklamaMag;
    }

    /**
     * @param reklamaMag the reklamaMag to set
     */
    public void setReklamaMag(double reklamaMag) {
        this.reklamaMag = reklamaMag;
    }

    public void setRyzyko(double ryzyko) {
        this.ryzyko = ryzyko;
    }

    public int compareTo(Object o) {
        MyPoint pt;
        if ( o == null ) {
            return 1;
        }

        if ( !(o instanceof MyPoint) ){
            return 1;
        } else {
            pt = (MyPoint) o;
        }


        if ( 
            pt.getRyzyko() == this.getRyzyko() &&
            pt.getCenaJed() == this.getCenaJed() &&
            pt.getJakosc() == this.getJakosc() &&
            pt.getReklamaInet() == this.getReklamaInet() &&
            pt.getReklamaMag() == this.getReklamaMag() &&
            pt.getReklamaTV() == this.getReklamaTV() &&
            pt.getWolumen() == this.getWolumen() &&
            pt.getWzietyKredyt() == this.getWzietyKredyt()
            ) {
            return 0;
        } else {
            return 1;
        }
    }

    /**
     * @return the cenaJedSprzedaz
     */
    public double getCenaJedSprzedaz() {
        return cenaJedSprzedaz;
    }

    /**
     * @param cenaJedSprzedaz the cenaJedSprzedaz to set
     */
    public void setCenaJedSprzedaz(double cenaJedSprzedaz) {
        this.cenaJedSprzedaz = cenaJedSprzedaz;
    }

}//end class
